package com.demo.jedis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
 * jedis连接演示
 */
public class JedisDemo {
    public static void main(String[] args) {
        testSingle();
        testPool();
    }

    /**
     * 连接池连接
     */
    public static void testPool() {
        // 创建jedis连接池的配置
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(20);
        config.setMaxIdle(2);
        config.setMaxWaitMillis(1000);

        // 创建一个jedis连接池
        JedisPool jedisPool = new JedisPool(config, "192.168.0.110" , 6379);
        // 获取连接jedis对象
        Jedis jedis = jedisPool.getResource();
        jedis.auth("gerryredis");
        jedis.set("poolstring", "poolvalue");
        System.out.println(jedis.get("poolstring"));
        System.out.println(jedis.get("newkey"));
        System.out.println(jedis.hget("user", "name"));

    }

    /**
     * 普通连接
     */
    public static void testSingle() {
        // 创建jedis连接
        Jedis jedis = new Jedis("192.168.0.110", 6379);
        // 设置密码
        jedis.auth("gerryredis");
        // 设置一个key对应值
        jedis.set("stringkey", "stringvalue");
        jedis.hset("user", "name", "张三");
        // 设置过期时间
        jedis.expire("user",2);
        // 获取设置值
        String result = jedis.get("stringkey");
        System.out.println(result);
        // 关闭连接
        jedis.close();
    }
}
